﻿using System;
using System.Collections.Generic;
using System.Text;

namespace YIJI_Device.Devices.smc304
{
    enum ERRORCODE
    {

        Success = 0,                 //  操作成功
        UnknownError = 1,                 //  未知错误
        ParameterError = 2,                 //  参数错误
        OperateTimeout = 3,                 //  操作超时
        StateBusy = 4,                 //  状态忙
        TooManyConnections = 5,                 //  链接太多
        InterpolationError = 6,                 //  插补错误
        ConnectionFailure = 7,                 //  连接失败
        Cannotbeconnected = 8,                 //  无法连接
        Axisnumberisoutofrange = 9,                 //  卡号或轴号超出范围
        transporterror = 10,                 //  数据传输错误
        firmwarefileerror = 12,                 //  固件文件错误
        Thefirmwaredoesnotmatch = 14,                 //  固件文件不匹配
        firmwareparameterserror = 20,                 //  固件参数错误
        Thecurrentstateoffirmwareisnotallowedtooperate = 22,                 //  固件当前状态不允许操作
        Thefeatureisnotsupported = 24,                 //  不支持该功能
        passworderror = 25,                 //  密码错误
        Thenumberofpasswordinputsislimited = 26,                 //  密码输入次数受限
        ERR_AXIS_SEL_ERR = 30,                 //  手轮脉冲的轴档位选择超出范围
        ERR_HAND_AXIS_NUM_ERR = 31,                 //  手轮脉冲的轴映射数量超出范围
        ERR_AXIS_RATIO_ERR = 32,                 //  手轮脉冲的倍率档位选择超出范围
        ERR_HANDWH_START = 33,                 //  已进入手轮脉冲模式，不能切换软硬件控制模式
        ERR_AXIS_BUSY_STATE = 34,                 //  轴已在运动，不能切换到手轮模式
        ERR_LIST_NUM_ERR = 50,                 //  LIST号超出范围
        ERR_LIST_NOT_OEPN = 51,                 //  LIST没有初始化
        ERR_PARA_NOT_VALID = 52,                 //  参数不在有效范围
        ERR_LIST_HAS_OPEN = 53,                 //  LIST已经打开
        ERR_MAIN_LIST_NOT_OPEN = 54,                 //  LIST没有初始化
        ERR_AXIS_NUM_ERR = 55,                 //  轴数不在有效范围
        ERR_AXIS_MAP_ARRAY_ERR = 56,                 //  轴映射表为空
        ERR_MAP_AXIS_ERR = 57,                 //  映射轴错误
        ERR_MAP_AXIS_BUSY = 58,                 //  映射轴忙
        ERR_PARA_SET_FORBIT = 59,                 //  运动中不允许更改参数
        ERR_FIFO_FULL = 60,                 //  缓冲区已满
        ERR_RADIUS_ERR = 61,                 //  半径为0或小于两点的距离的一半
        ERR_MAINLIST_HAS_START = 62,                 //  LIST已经启动
        ERR_ACC_TIME_ZERO = 63,                 //  加减速时间为0
        ERR_MAINLIST_NOT_START = 64,                 //  主要LIST没有启动
        ERR_POINT_SAME_ON_RADIUS = 67,                 //  圆弧插补在半径模式下起点和终点不能重合
        MCVP_SMOOTH_TIME_SET_ERROR = 80,                 //  s时间设置错误(小于等于0)
        MCVP_START_VEL_SET_ERROR = 81,                 //  起始速度绝对值设置错误(小于0)
        MCVP_STEADY_VEL_SET_ERROR = 82,                 //  最大速度绝对值设置错误(小于等于0)
        MCVP_END_VEL_SET_ERROR = 83,                 //  停止速度绝对值设置错误(小于0)
        MCVP_TOTAL_LENGTH_SET_ERROR = 84,                 //  运动距离为0，无法运动
        ERR_AXIS_INDEX = 101,                 //  所选轴超出最大值
        ERR_SET_WHILE_MOVING = 102,                 //  轴正在运动，不能设置参数
        ERR_ENTER_WHILE_MOVING = 103,                 //  轴正在运动，不能进入该模式
        ERR_PEL_STATE = 104,                 //  轴处于正限位，不能正向运动
        ERR_NEL_STATE = 105,                 //  轴处于负限位，不能负向运动
        ERR_SOFT_PEL_STATE = 106,                 //  轴处于软正限位，不能正向运动
        ERR_SOFT_NEL_STATE = 107,                 //  轴处于软负限位，不能负向运动
        ERR_FORCE_IN_OTHER_MODE = 108,                 //  轴处于非点位模式，不能强制变位
        ERR_MAX_VEL_ZERO = 109,                 //  设置最大速度错误，不能为0
        ERR_EQU_ZERO = 110,                 //  设置轴当量错误，不能为0
        ERR_BACKLASH_NEG = 111,                 //  设置反向间隙错误，不能为负值
        ERR_MAX_PULSE = 112,                 //  设置位置错误，已超出允许范围
        ERR_CMP_EXCEED_MAX_AXISES = 121,                 //  所选比较轴超出范围
        ERR_CMP_EXCEED_MAX_INDEX = 122,                 //  比较点数已满，不能继续添加
        ERR_CMP_EXCEED_MAX_IO = 123,                 //  进行比较的IO超出范围
        ERR_CMP_EXCEED_MAX_CHAN = 124,                 //  选择的高速比较IO超出范围
        ERR_MAP_AXISIO_MAX_AXISES = 130,                 //  映射的轴超出范围
        PVT_ERROR_AXISES_OVER_RANGE = 140,                 //  所选轴超出范围
        PVT_ERROR_INDEX_OVER_RANGE = 141,                 //  控制点已满，不能继续添加
        PVT_ERROR_INDEX_EXCEED = 142,                 //  控制点已满，不能继续添加
        PVT_ERROR_TIME_EROOR = 143,                 //  插入段时间为0或者负数
        HOME_ERROR_AXISES_OVER_RANGE = 200,                 //  所选轴超出最大值
        HOME_ERROR_MAX_VEL = 202,                 //  设置的最大速度为0
        HOME_ERROR_MAX_ACC = 203,                 //  设置的加速度小于等于0
        HOME_ERROR_BOTH_LIMIT = 207,                 //  同时处于正、负限位,无法启动回零运动
        ERROR_ZSHELL_PARAERR = 1000,                 //  参数错误
        ERROR_ZSHELL_STOP_USER = 1040,                 //  用户手动停止
        ERROR_ZSHELL_STOP_OTHERTASK = 1041,                 //  其他任务牵连停止
        ERROR_ZSHELL_PARA_CANNOT_MODIFIY = 1042,                 //  少数参数不让修改，SET扩展返回
        ERROR_ZSHELL_ARRAY_OVER = 1043,                 //  数组越界
        ERROR_ZSHELL_VAR_TOOMUCH = 1044,                 //  变量个数超过
        ERROR_ZSHELL_ARRAY_TOOMUCH = 1045,                 //  数组个数超过
        ERROR_ZSHELL_ARRAY_NOSPACE = 1046,                 //  数组没有空间
        ERROR_ZSHELL_SUB_TOOMUCH = 1047,                 //  SUB过多
        ERROR_ZSHELL_LABEL_NAMEERR = 1048,                 //  标识符          命名错误
        ERROR_ZSHELL_LABEL_TOOMANYCHARES = 1049,                 //  标识符          命名过长
        ERROR_ZSHELL_NO_RIGHTBRACKET = 1050,                 //  没有右括号
        ERROR_ZSHELL_UNKOWNCHAR = 1051,                 //  不认识的字符
        ERROR_ZSHELL_UNKOWN_LABEL = 1052,                 //  不认识的名称，表达式中碰到
        ERROR_ZSHELL_STOP_INVALIDCMD = 1053,                 //  不认识的命令
        ERROR_ZSHELL_STOP_OVERSTACK = 1054,                 //  超过堆栈层数
        ERROR_ZSHELL_OVER_RECURSION = 1055,                 //  递归过多
        ERROR_ZSHELL_NO_QUOTEEND = 1056,                 //  引号没有结束
        ERROR_ZSHELL_CMD_CANNOTREAD = 1057,                 //  不能读取  不能在表达式中使用
        ERROR_ZSHELL_CMD_CANNOTRUN = 1058,                 //  函数之类不能出现在行首 只能在表达式中使用
        ERROR_ZSHELL_LINE_MUST_END = 1059,                 //  期望行结束，一些特殊指令需要
        ERROR_ZSHELL_ARRAY_NEEDINDEX = 1060,                 //  数组需要编号，          参数也使用
        ERROR_ZSHELL_NOTBRACKET_AFTERVAR = 1061,                 //  变量后不需要编号
        ERROR_ZSHELL_DIM_CONFLICT = 1062,                 //  数组重新定义冲突，长度不一致
        ERROR_ZSHELL_DIM_ARRAYLENGTHERR = 1063,                 //  数组长度错误
        ERROR_ZSHELL_DIM_LABEL_SUB = 1064,                 //  定义，名称          SUB
        ERROR_ZSHELL_DIM_LABEL_PARA = 1065,                 //  定义，名称          PARA
        ERROR_ZSHELL_DIM_LABEL_RESERVE = 1066,                 //  定义，名称          保留
        ERROR_ZSHELL_UNWANT_CHAR = 1067,                 //  不能出现的字符
        ERROR_ZSHELL_STACK_NOPUSH = 1068,                 //  POP时没有压栈
        ERROR_ZSHELL_FORMAT_ERR = 1070,                 //  格式错误
        ERROR_ZSHELL_SET_OVER = 1071,                 //  参数溢出，para(10)10过大
        ERROR_ZSHELL_PARA_RANGEERR = 1072,                 //  一些函数和命令的参数范围错误
        ERROR_ZSHELL_PARA_TOOMANY = 1073,                 //  一些函数和命令的参数          过多
        ERROR_ZSHELL_PARA_TOOFEW = 1074,                 //  一些函数和命令的参数          过少
        ERROR_ZSHELL_NO_EXPR = 1075,                 //  读取不到表达式
        ERROR_ZSHELL_OPERNOPARA = 1076,                 //  操作符没有参数
        ERROR_ZSHELL_NOPARA_BEFOREOPER = 1077,                 //  操作符前面没有参数
        ERROR_ZSHELL_SIGNAL_CANNOTINEXPR = 1078,                 //  符号不能在表达式中使用
        ERROR_ZSHELL_NEED_OPER = 1079,                 //  需要双目操作符
        ERROR_ZSHELL_SUB_NOTSUB = 1080,                 //  CALL          的不是SUB
        ERROR_ZSHELL_NO_AUTO = 1081,                 //  没有AUTO所以不启动
        ERROR_ZSHELL_EQ_WANTED = 1082,                 //  赋值语句没有等号，变量或者参数等只能为赋值语句
        ERROR_ZSHELL_FILE_VAIN = 1083,                 //  程序文件空
        ERROR_ZSHELL_SUB_RENAME = 1084,                 //  SUB重名，包括与其他的名称重了
        ERROR_ZSHELL_TASK_RUNNING = 1085,                 //  任务已经运行中
        ERROR_ZSHELL_NEED_COMMA_BETWEEN_PARA = 1086,                 //  操作数之间需要逗号
        ERROR_ZSHELL_NO_LEFTBRACKET = 1087,                 //  没有右括号
        ERROR_ZSHELL_TOOMANY_IFNESTED = 1088,                 //  IF嵌套太多
        ERROR_ZSHELL_TOOMANY_LOOPNESTED = 1089,                 //  LOOP嵌套太多
        ERROR_ZSHELL_MOVEAXISES_FEW = 1090,                 //  插补轴太少
        ERROR_ZSHELL_CONST_VAR = 1091,                 //  变量不能修改
        ERROR_ZSHELL_NOT_ONLINECMD = 1092,                 //  不能作为在线命令
        ERROR_ZSHELL_AXIS_OVER = 1093,                 //  轴号超出
        ERROR_ZSHELL_CRD_OVER = 1094,                 //  插补系超出
        ERROR_ZSHELL_STOP_UNKNOWN = 1099,                 //  未知错误，不可能出现的，一般是内部错误引起
        ERROR_ZSHELL_DIVISION_BY_ZERO = 1200,                 //  除零错误，请排查除数是否为0
    }
}
